package com.zx.notification.common.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.time.LocalDateTime;

@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class SystemNotifications implements Serializable {
    /**
     * 通知ID
     */
    private String id;

    /**
     * 接收用户ID
     */
    private String userId;

    /**
     * 模板编码
     */
    private String templateCode;

    /**
     * 通知标题
     */
    private String title;

    /**
     * 通知内容
     */
    private String content;

    /**
     * 业务类型
     */
    private String bizType;

    /**
     * 业务ID
     */
    private String bizId;

    /**
     * 业务链接
     */
    private String bizUrl;

    /**
     * 业务数据(JSON格式)
     */
    private String bizData;

    /**
     * 目标渠道: 实际发送的渠道列表，多个以逗号分隔，如: INBOX,WEBSOCKET,SMS
     */
    private String targetChannels;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expireTime;

}